import request from '../utils/request'

// 获取订单结算信息
// 当mode为cart时，为购物车结算，obj中包含cartsId
export const getOrderInfo = (mode, obj) => {
  return request.get('http://smart-shop.itheima.net/index.php?s=/api/checkout/order',
    {
      params: {
        mode,
        delivery: 10, // 配送方式（10快递配送 20上门自提）
        shopId: 0, // 店铺ID
        couponId: 0, // 优惠券ID
        isUsePoints: 0, // 是否使用积分抵扣（1使用 0不使用）
        ...obj // 将传递过来的参数对象动态展开
      }
    }
  )
}

// 提交订单
// 当mode===cart时，=> obj中包含cartsId、remark
// 当mode为buyNow时，=> obj中包含goodsId、goodsNum、goodsSkuId、remark
export const submitOrder = (mode, obj) => {
  return request.post('http://smart-shop.itheima.net/index.php?s=/api/checkout/submit',
    {
      mode,
      delivery: 10, // 配送方式（10快递配送 20上门自提）
      payType: 10, // 支付方式，10：余额支付
      couponId: 0, // 优惠券ID
      isUsePoints: 0, // 是否使用积分抵扣（1使用 0不使用）
      ...obj // 将传递过来的参数对象动态展开
    }
  )
}
// 支付订单
// orderId: 订单ID
// payType: 支付方式（10余额支付 20微信支付）
export const payOrder = (orderId, payType) => {
  return request.post('https://smart-shop.itheima.net/index.php?s=/api/order/pay', {
    orderId,
    payType
  })
}

// 订单列表
export const orderList = (dataType, page) => {
  return request.get('http://smart-shop.itheima.net/index.php?s=/api/order/list', {
    params: {
      dataType, // 订单类型（all全部 payment待付款 delivery待发货 received待收货 comment待评价）
      page
    }
  })
}

// 获取订单详情
export const orderDetail = (orderId) => {
  return request.get('http://smart-shop.itheima.net/index.php?s=/api/order/detail', {
    params: {
      orderId
    }
  })
}

// 取消订单
export const cancelOrder = (orderId) => {
  return request.post('https://smart-shop.itheima.net/index.php?s=/api/order/cancel', {
    orderId
  })
}

// 订单确认收货
export const receiptOrder = (orderId) => {
  return request.post('https://smart-shop.itheima.net/index.php?s=/api/order/receipt', {
    orderId
  })
}

// 评价订单
export const evaluateOrder = (orderId) => {
  return request.get('https://smart-shop.itheima.net/index.php?s=/api/order.comment/list', {
    params: {
      orderId
    }
  })
}
